#include "sindef.h"
//maximum 65535
const U16 spwm_sin_vals[SPWM_SIN_NSIZE] = {
    0,
    101,
    201,
    302,
    402,
    503,
    603,
    704,
    804,
    905,
    1005,
    1106,
    1206,
    1307,
    1407,
    1508,
    1608,
    1709,
    1809,
    1910,
    2010,
    2111,
    2211,
    2312,
    2412,
    2513,
    2613,
    2714,
    2814,
    2914,
    3015,
    3115,
    3216,
    3316,
    3416,
    3517,
    3617,
    3718,
    3818,
    3918,
    4019,
    4119,
    4219,
    4320,
    4420,
    4520,
    4621,
    4721,
    4821,
    4921,
    5022,
    5122,
    5222,
    5322,
    5422,
    5523,
    5623,
    5723,
    5823,
    5923,
    6023,
    6123,
    6223,
    6324,
    6424,
    6524,
    6624,
    6724,
    6824,
    6924,
    7024,
    7123,
    7223,
    7323,
    7423,
    7523,
    7623,
    7723,
    7823,
    7922,
    8022,
    8122,
    8222,
    8321,
    8421,
    8521,
    8620,
    8720,
    8820,
    8919,
    9019,
    9118,
    9218,
    9318,
    9417,
    9517,
    9616,
    9715,
    9815,
    9914,
    10014,
    10113,
    10212,
    10312,
    10411,
    10510,
    10609,
    10708,
    10808,
    10907,
    11006,
    11105,
    11204,
    11303,
    11402,
    11501,
    11600,
    11699,
    11798,
    11897,
    11996,
    12094,
    12193,
    12292,
    12391,
    12489,
    12588,
    12687,
    12785,
    12884,
    12982,
    13081,
    13179,
    13278,
    13376,
    13475,
    13573,
    13671,
    13770,
    13868,
    13966,
    14064,
    14163,
    14261,
    14359,
    14457,
    14555,
    14653,
    14751,
    14849,
    14947,
    15045,
    15142,
    15240,
    15338,
    15436,
    15533,
    15631,
    15729,
    15826,
    15924,
    16021,
    16119,
    16216,
    16313,
    16411,
    16508,
    16605,
    16703,
    16800,
    16897,
    16994,
    17091,
    17188,
    17285,
    17382,
    17479,
    17576,
    17673,
    17769,
    17866,
    17963,
    18060,
    18156,
    18253,
    18349,
    18446,
    18542,
    18639,
    18735,
    18831,
    18928,
    19024,
    19120,
    19216,
    19312,
    19408,
    19504,
    19600,
    19696,
    19792,
    19888,
    19984,
    20079,
    20175,
    20271,
    20366,
    20462,
    20557,
    20653,
    20748,
    20843,
    20939,
    21034,
    21129,
    21224,
    21319,
    21414,
    21509,
    21604,
    21699,
    21794,
    21889,
    21983,
    22078,
    22173,
    22267,
    22362,
    22456,
    22551,
    22645,
    22739,
    22834,
    22928,
    23022,
    23116,
    23210,
    23304,
    23398,
    23492,
    23586,
    23679,
    23773,
    23867,
    23960,
    24054,
    24147,
    24241,
    24334,
    24428,
    24521,
    24614,
    24707,
    24800,
    24893,
    24986,
    25079,
    25172,
    25265,
    25358,
    25450,
    25543,
    25635,
    25728,
    25820,
    25913,
    26005,
    26097,
    26189,
    26281,
    26374,
    26466,
    26557,
    26649,
    26741,
    26833,
    26925,
    27016,
    27108,
    27199,
    27291,
    27382,
    27473,
    27565,
    27656,
    27747,
    27838,
    27929,
    28020,
    28111,
    28201,
    28292,
    28383,
    28473,
    28564,
    28654,
    28745,
    28835,
    28925,
    29015,
    29106,
    29196,
    29286,
    29375,
    29465,
    29555,
    29645,
    29734,
    29824,
    29913,
    30003,
    30092,
    30181,
    30271,
    30360,
    30449,
    30538,
    30627,
    30716,
    30804,
    30893,
    30982,
    31070,
    31159,
    31247,
    31335,
    31424,
    31512,
    31600,
    31688,
    31776,
    31864,
    31952,
    32039,
    32127,
    32215,
    32302,
    32390,
    32477,
    32564,
    32651,
    32738,
    32826,
    32912,
    32999,
    33086,
    33173,
    33260,
    33346,
    33433,
    33519,
    33605,
    33692,
    33778,
    33864,
    33950,
    34036,
    34122,
    34208,
    34293,
    34379,
    34465,
    34550,
    34635,
    34721,
    34806,
    34891,
    34976,
    35061,
    35146,
    35231,
    35315,
    35400,
    35485,
    35569,
    35654,
    35738,
    35822,
    35906,
    35990,
    36074,
    36158,
    36242,
    36326,
    36409,
    36493,
    36576,
    36660,
    36743,
    36826,
    36909,
    36992,
    37075,
    37158,
    37241,
    37324,
    37406,
    37489,
    37571,
    37653,
    37736,
    37818,
    37900,
    37982,
    38064,
    38145,
    38227,
    38309,
    38390,
    38472,
    38553,
    38634,
    38715,
    38797,
    38877,
    38958,
    39039,
    39120,
    39200,
    39281,
    39361,
    39442,
    39522,
    39602,
    39682,
    39762,
    39842,
    39922,
    40001,
    40081,
    40161,
    40240,
    40319,
    40398,
    40478,
    40557,
    40635,
    40714,
    40793,
    40872,
    40950,
    41029,
    41107,
    41185,
    41263,
    41341,
    41419,
    41497,
    41575,
    41653,
    41730,
    41808,
    41885,
    41962,
    42039,
    42117,
    42194,
    42270,
    42347,
    42424,
    42500,
    42577,
    42653,
    42730,
    42806,
    42882,
    42958,
    43034,
    43109,
    43185,
    43261,
    43336,
    43411,
    43487,
    43562,
    43637,
    43712,
    43787,
    43861,
    43936,
    44011,
    44085,
    44159,
    44234,
    44308,
    44382,
    44456,
    44529,
    44603,
    44677,
    44750,
    44824,
    44897,
    44970,
    45043,
    45116,
    45189,
    45262,
    45334,
    45407,
    45479,
    45552,
    45624,
    45696,
    45768,
    45840,
    45912,
    45983,
    46055,
    46126,
    46198,
    46269,
    46340,
    46411,
    46482,
    46553,
    46624,
    46694,
    46765,
    46835,
    46905,
    46976,
    47046,
    47116,
    47185,
    47255,
    47325,
    47394,
    47464,
    47533,
    47602,
    47671,
    47740,
    47809,
    47877,
    47946,
    48014,
    48083,
    48151,
    48219,
    48287,
    48355,
    48423,
    48491,
    48558,
    48626,
    48693,
    48760,
    48827,
    48894,
    48961,
    49028,
    49095,
    49161,
    49228,
    49294,
    49360,
    49426,
    49492,
    49558,
    49624,
    49689,
    49755,
    49820,
    49885,
    49951,
    50016,
    50080,
    50145,
    50210,
    50274,
    50339,
    50403,
    50467,
    50531,
    50595,
    50659,
    50723,
    50787,
    50850,
    50913,
    50977,
    51040,
    51103,
    51166,
    51228,
    51291,
    51354,
    51416,
    51478,
    51540,
    51602,
    51664,
    51726,
    51788,
    51849,
    51911,
    51972,
    52033,
    52094,
    52155,
    52216,
    52277,
    52337,
    52398,
    52458,
    52518,
    52578,
    52638,
    52698,
    52758,
    52817,
    52877,
    52936,
    52995,
    53054,
    53113,
    53172,
    53231,
    53289,
    53348,
    53406,
    53464,
    53522,
    53580,
    53638,
    53696,
    53754,
    53811,
    53868,
    53925,
    53983,
    54039,
    54096,
    54153,
    54210,
    54266,
    54322,
    54378,
    54434,
    54490,
    54546,
    54602,
    54657,
    54713,
    54768,
    54823,
    54878,
    54933,
    54988,
    55042,
    55097,
    55151,
    55206,
    55260,
    55314,
    55367,
    55421,
    55475,
    55528,
    55582,
    55635,
    55688,
    55741,
    55794,
    55846,
    55899,
    55951,
    56003,
    56056,
    56108,
    56159,
    56211,
    56263,
    56314,
    56366,
    56417,
    56468,
    56519,
    56570,
    56620,
    56671,
    56721,
    56772,
    56822,
    56872,
    56922,
    56972,
    57021,
    57071,
    57120,
    57169,
    57218,
    57267,
    57316,
    57365,
    57413,
    57462,
    57510,
    57558,
    57606,
    57654,
    57702,
    57749,
    57797,
    57844,
    57891,
    57938,
    57985,
    58032,
    58079,
    58125,
    58171,
    58218,
    58264,
    58310,
    58356,
    58401,
    58447,
    58492,
    58537,
    58583,
    58628,
    58672,
    58717,
    58762,
    58806,
    58850,
    58895,
    58939,
    58983,
    59026,
    59070,
    59113,
    59157,
    59200,
    59243,
    59286,
    59329,
    59371,
    59414,
    59456,
    59498,
    59540,
    59582,
    59624,
    59666,
    59707,
    59749,
    59790,
    59831,
    59872,
    59913,
    59953,
    59994,
    60034,
    60075,
    60115,
    60155,
    60194,
    60234,
    60274,
    60313,
    60352,
    60391,
    60430,
    60469,
    60508,
    60546,
    60585,
    60623,
    60661,
    60699,
    60737,
    60775,
    60812,
    60850,
    60887,
    60924,
    60961,
    60998,
    61034,
    61071,
    61107,
    61144,
    61180,
    61216,
    61252,
    61287,
    61323,
    61358,
    61393,
    61429,
    61463,
    61498,
    61533,
    61567,
    61602,
    61636,
    61670,
    61704,
    61738,
    61772,
    61805,
    61838,
    61872,
    61905,
    61938,
    61970,
    62003,
    62035,
    62068,
    62100,
    62132,
    62164,
    62196,
    62227,
    62259,
    62290,
    62321,
    62352,
    62383,
    62414,
    62444,
    62475,
    62505,
    62535,
    62565,
    62595,
    62625,
    62654,
    62684,
    62713,
    62742,
    62771,
    62800,
    62829,
    62857,
    62886,
    62914,
    62942,
    62970,
    62998,
    63025,
    63053,
    63080,
    63107,
    63134,
    63161,
    63188,
    63214,
    63241,
    63267,
    63293,
    63319,
    63345,
    63371,
    63396,
    63422,
    63447,
    63472,
    63497,
    63522,
    63546,
    63571,
    63595,
    63620,
    63644,
    63668,
    63691,
    63715,
    63738,
    63762,
    63785,
    63808,
    63831,
    63853,
    63876,
    63898,
    63921,
    63943,
    63965,
    63986,
    64008,
    64030,
    64051,
    64072,
    64093,
    64114,
    64135,
    64155,
    64176,
    64196,
    64216,
    64236,
    64256,
    64276,
    64295,
    64315,
    64334,
    64353,
    64372,
    64391,
    64409,
    64428,
    64446,
    64464,
    64482,
    64500,
    64518,
    64535,
    64553,
    64570,
    64587,
    64604,
    64621,
    64638,
    64654,
    64671,
    64687,
    64703,
    64719,
    64734,
    64750,
    64765,
    64781,
    64796,
    64811,
    64826,
    64840,
    64855,
    64869,
    64883,
    64898,
    64911,
    64925,
    64939,
    64952,
    64966,
    64979,
    64992,
    65005,
    65017,
    65030,
    65042,
    65054,
    65066,
    65078,
    65090,
    65102,
    65113,
    65125,
    65136,
    65147,
    65158,
    65168,
    65179,
    65189,
    65199,
    65210,
    65219,
    65229,
    65239,
    65248,
    65258,
    65267,
    65276,
    65285,
    65293,
    65302,
    65310,
    65319,
    65327,
    65335,
    65342,
    65350,
    65357,
    65365,
    65372,
    65379,
    65386,
    65392,
    65399,
    65405,
    65412,
    65418,
    65424,
    65429,
    65435,
    65441,
    65446,
    65451,
    65456,
    65461,
    65466,
    65470,
    65475,
    65479,
    65483,
    65487,
    65491,
    65494,
    65498,
    65501,
    65504,
    65507,
    65510,
    65513,
    65515,
    65518,
    65520,
    65522,
    65524,
    65526,
    65527,
    65529,
    65530,
    65531,
    65532,
    65533,
    65534,
    65534,
    65535,
    65535,
    65535,
    65535,
    65535,
    65534,
    65534,
    65533,
    65532,
    65531,
    65530,
    65529,
    65527,
    65526,
    65524,
    65522,
    65520,
    65518,
    65515,
    65513,
    65510,
    65507,
    65504,
    65501,
    65498,
    65494,
    65491,
    65487,
    65483,
    65479,
    65475,
    65470,
    65466,
    65461,
    65456,
    65451,
    65446,
    65441,
    65435,
    65429,
    65424,
    65418,
    65412,
    65405,
    65399,
    65392,
    65386,
    65379,
    65372,
    65365,
    65357,
    65350,
    65342,
    65335,
    65327,
    65319,
    65310,
    65302,
    65293,
    65285,
    65276,
    65267,
    65258,
    65248,
    65239,
    65229,
    65219,
    65210,
    65199,
    65189,
    65179,
    65168,
    65158,
    65147,
    65136,
    65125,
    65113,
    65102,
    65090,
    65078,
    65066,
    65054,
    65042,
    65030,
    65017,
    65005,
    64992,
    64979,
    64966,
    64952,
    64939,
    64925,
    64911,
    64898,
    64883,
    64869,
    64855,
    64840,
    64826,
    64811,
    64796,
    64781,
    64765,
    64750,
    64734,
    64719,
    64703,
    64687,
    64671,
    64654,
    64638,
    64621,
    64604,
    64587,
    64570,
    64553,
    64535,
    64518,
    64500,
    64482,
    64464,
    64446,
    64428,
    64409,
    64391,
    64372,
    64353,
    64334,
    64315,
    64295,
    64276,
    64256,
    64236,
    64216,
    64196,
    64176,
    64155,
    64135,
    64114,
    64093,
    64072,
    64051,
    64030,
    64008,
    63986,
    63965,
    63943,
    63921,
    63898,
    63876,
    63853,
    63831,
    63808,
    63785,
    63762,
    63738,
    63715,
    63691,
    63668,
    63644,
    63620,
    63595,
    63571,
    63546,
    63522,
    63497,
    63472,
    63447,
    63422,
    63396,
    63371,
    63345,
    63319,
    63293,
    63267,
    63241,
    63214,
    63188,
    63161,
    63134,
    63107,
    63080,
    63053,
    63025,
    62998,
    62970,
    62942,
    62914,
    62886,
    62857,
    62829,
    62800,
    62771,
    62742,
    62713,
    62684,
    62654,
    62625,
    62595,
    62565,
    62535,
    62505,
    62475,
    62444,
    62414,
    62383,
    62352,
    62321,
    62290,
    62259,
    62227,
    62196,
    62164,
    62132,
    62100,
    62068,
    62035,
    62003,
    61970,
    61938,
    61905,
    61872,
    61838,
    61805,
    61772,
    61738,
    61704,
    61670,
    61636,
    61602,
    61567,
    61533,
    61498,
    61463,
    61429,
    61393,
    61358,
    61323,
    61287,
    61252,
    61216,
    61180,
    61144,
    61107,
    61071,
    61034,
    60998,
    60961,
    60924,
    60887,
    60850,
    60812,
    60775,
    60737,
    60699,
    60661,
    60623,
    60585,
    60546,
    60508,
    60469,
    60430,
    60391,
    60352,
    60313,
    60274,
    60234,
    60194,
    60155,
    60115,
    60075,
    60034,
    59994,
    59953,
    59913,
    59872,
    59831,
    59790,
    59749,
    59707,
    59666,
    59624,
    59582,
    59540,
    59498,
    59456,
    59414,
    59371,
    59329,
    59286,
    59243,
    59200,
    59157,
    59113,
    59070,
    59026,
    58983,
    58939,
    58895,
    58850,
    58806,
    58762,
    58717,
    58672,
    58628,
    58583,
    58537,
    58492,
    58447,
    58401,
    58356,
    58310,
    58264,
    58218,
    58171,
    58125,
    58079,
    58032,
    57985,
    57938,
    57891,
    57844,
    57797,
    57749,
    57702,
    57654,
    57606,
    57558,
    57510,
    57462,
    57413,
    57365,
    57316,
    57267,
    57218,
    57169,
    57120,
    57071,
    57021,
    56972,
    56922,
    56872,
    56822,
    56772,
    56721,
    56671,
    56620,
    56570,
    56519,
    56468,
    56417,
    56366,
    56314,
    56263,
    56211,
    56159,
    56108,
    56056,
    56003,
    55951,
    55899,
    55846,
    55794,
    55741,
    55688,
    55635,
    55582,
    55528,
    55475,
    55421,
    55367,
    55314,
    55260,
    55206,
    55151,
    55097,
    55042,
    54988,
    54933,
    54878,
    54823,
    54768,
    54713,
    54657,
    54602,
    54546,
    54490,
    54434,
    54378,
    54322,
    54266,
    54210,
    54153,
    54096,
    54039,
    53983,
    53925,
    53868,
    53811,
    53754,
    53696,
    53638,
    53580,
    53522,
    53464,
    53406,
    53348,
    53289,
    53231,
    53172,
    53113,
    53054,
    52995,
    52936,
    52877,
    52817,
    52758,
    52698,
    52638,
    52578,
    52518,
    52458,
    52398,
    52337,
    52277,
    52216,
    52155,
    52094,
    52033,
    51972,
    51911,
    51849,
    51788,
    51726,
    51664,
    51602,
    51540,
    51478,
    51416,
    51354,
    51291,
    51228,
    51166,
    51103,
    51040,
    50977,
    50913,
    50850,
    50787,
    50723,
    50659,
    50595,
    50531,
    50467,
    50403,
    50339,
    50274,
    50210,
    50145,
    50080,
    50016,
    49951,
    49885,
    49820,
    49755,
    49689,
    49624,
    49558,
    49492,
    49426,
    49360,
    49294,
    49228,
    49161,
    49095,
    49028,
    48961,
    48894,
    48827,
    48760,
    48693,
    48626,
    48558,
    48491,
    48423,
    48355,
    48287,
    48219,
    48151,
    48083,
    48014,
    47946,
    47877,
    47809,
    47740,
    47671,
    47602,
    47533,
    47464,
    47394,
    47325,
    47255,
    47185,
    47116,
    47046,
    46976,
    46905,
    46835,
    46765,
    46694,
    46624,
    46553,
    46482,
    46411,
    46340,
    46269,
    46198,
    46126,
    46055,
    45983,
    45912,
    45840,
    45768,
    45696,
    45624,
    45552,
    45479,
    45407,
    45334,
    45262,
    45189,
    45116,
    45043,
    44970,
    44897,
    44824,
    44750,
    44677,
    44603,
    44529,
    44456,
    44382,
    44308,
    44234,
    44159,
    44085,
    44011,
    43936,
    43861,
    43787,
    43712,
    43637,
    43562,
    43487,
    43411,
    43336,
    43261,
    43185,
    43109,
    43034,
    42958,
    42882,
    42806,
    42730,
    42653,
    42577,
    42500,
    42424,
    42347,
    42270,
    42194,
    42117,
    42039,
    41962,
    41885,
    41808,
    41730,
    41653,
    41575,
    41497,
    41419,
    41341,
    41263,
    41185,
    41107,
    41029,
    40950,
    40872,
    40793,
    40714,
    40635,
    40557,
    40478,
    40398,
    40319,
    40240,
    40161,
    40081,
    40001,
    39922,
    39842,
    39762,
    39682,
    39602,
    39522,
    39442,
    39361,
    39281,
    39200,
    39120,
    39039,
    38958,
    38877,
    38797,
    38715,
    38634,
    38553,
    38472,
    38390,
    38309,
    38227,
    38145,
    38064,
    37982,
    37900,
    37818,
    37736,
    37653,
    37571,
    37489,
    37406,
    37324,
    37241,
    37158,
    37075,
    36992,
    36909,
    36826,
    36743,
    36660,
    36576,
    36493,
    36409,
    36326,
    36242,
    36158,
    36074,
    35990,
    35906,
    35822,
    35738,
    35654,
    35569,
    35485,
    35400,
    35315,
    35231,
    35146,
    35061,
    34976,
    34891,
    34806,
    34721,
    34635,
    34550,
    34465,
    34379,
    34293,
    34208,
    34122,
    34036,
    33950,
    33864,
    33778,
    33692,
    33605,
    33519,
    33433,
    33346,
    33260,
    33173,
    33086,
    32999,
    32912,
    32826,
    32738,
    32651,
    32564,
    32477,
    32390,
    32302,
    32215,
    32127,
    32039,
    31952,
    31864,
    31776,
    31688,
    31600,
    31512,
    31424,
    31335,
    31247,
    31159,
    31070,
    30982,
    30893,
    30804,
    30716,
    30627,
    30538,
    30449,
    30360,
    30271,
    30181,
    30092,
    30003,
    29913,
    29824,
    29734,
    29645,
    29555,
    29465,
    29375,
    29286,
    29196,
    29106,
    29015,
    28925,
    28835,
    28745,
    28654,
    28564,
    28473,
    28383,
    28292,
    28201,
    28111,
    28020,
    27929,
    27838,
    27747,
    27656,
    27565,
    27473,
    27382,
    27291,
    27199,
    27108,
    27016,
    26925,
    26833,
    26741,
    26649,
    26557,
    26466,
    26374,
    26281,
    26189,
    26097,
    26005,
    25913,
    25820,
    25728,
    25635,
    25543,
    25450,
    25358,
    25265,
    25172,
    25079,
    24986,
    24893,
    24800,
    24707,
    24614,
    24521,
    24428,
    24334,
    24241,
    24147,
    24054,
    23960,
    23867,
    23773,
    23679,
    23586,
    23492,
    23398,
    23304,
    23210,
    23116,
    23022,
    22928,
    22834,
    22739,
    22645,
    22551,
    22456,
    22362,
    22267,
    22173,
    22078,
    21983,
    21889,
    21794,
    21699,
    21604,
    21509,
    21414,
    21319,
    21224,
    21129,
    21034,
    20939,
    20843,
    20748,
    20653,
    20557,
    20462,
    20366,
    20271,
    20175,
    20079,
    19984,
    19888,
    19792,
    19696,
    19600,
    19504,
    19408,
    19312,
    19216,
    19120,
    19024,
    18928,
    18831,
    18735,
    18639,
    18542,
    18446,
    18349,
    18253,
    18156,
    18060,
    17963,
    17866,
    17769,
    17673,
    17576,
    17479,
    17382,
    17285,
    17188,
    17091,
    16994,
    16897,
    16800,
    16703,
    16605,
    16508,
    16411,
    16313,
    16216,
    16119,
    16021,
    15924,
    15826,
    15729,
    15631,
    15533,
    15436,
    15338,
    15240,
    15142,
    15045,
    14947,
    14849,
    14751,
    14653,
    14555,
    14457,
    14359,
    14261,
    14163,
    14064,
    13966,
    13868,
    13770,
    13671,
    13573,
    13475,
    13376,
    13278,
    13179,
    13081,
    12982,
    12884,
    12785,
    12687,
    12588,
    12489,
    12391,
    12292,
    12193,
    12094,
    11996,
    11897,
    11798,
    11699,
    11600,
    11501,
    11402,
    11303,
    11204,
    11105,
    11006,
    10907,
    10808,
    10708,
    10609,
    10510,
    10411,
    10312,
    10212,
    10113,
    10014,
    9914,
    9815,
    9715,
    9616,
    9517,
    9417,
    9318,
    9218,
    9118,
    9019,
    8919,
    8820,
    8720,
    8620,
    8521,
    8421,
    8321,
    8222,
    8122,
    8022,
    7922,
    7823,
    7723,
    7623,
    7523,
    7423,
    7323,
    7223,
    7123,
    7024,
    6924,
    6824,
    6724,
    6624,
    6524,
    6424,
    6324,
    6223,
    6123,
    6023,
    5923,
    5823,
    5723,
    5623,
    5523,
    5422,
    5322,
    5222,
    5122,
    5022,
    4921,
    4821,
    4721,
    4621,
    4520,
    4420,
    4320,
    4219,
    4119,
    4019,
    3918,
    3818,
    3718,
    3617,
    3517,
    3416,
    3316,
    3216,
    3115,
    3015,
    2914,
    2814,
    2714,
    2613,
    2513,
    2412,
    2312,
    2211,
    2111,
    2010,
    1910,
    1809,
    1709,
    1608,
    1508,
    1407,
    1307,
    1206,
    1106,
    1005,
    905,
    804,
    704,
    603,
    503,
    402,
    302,
    201,
    101,
    0
};